public class LeetCode024 {
    public static void main(String[] args) {
        LinkedList<Integer> List = new LinkedList<>();
        ListNode listNode = new ListNode(1);
        for (int i = 0;i<10;i++)
            listNode.next=(new ListNode(i));
//        ListNodeListNode(i)
        for (int j=0;j<5;j++) {
            System.out.println(listNode.val);
            listNode = listNode.next;
        }
    }
}

class Solution {
    public ListNode swapPairs(ListNode head) {

        if (head == null || head.next == null) {
            return head;
        }

        ListNode next = head.next;

        // next 后面就不管了，直接递归。。。。
        next.next = swapPairs(next.next);

        //下面两行代码是交换链表两个节点
        head.next = next.next;
        next.next = head;

        // 交换后，next 就是前面的节点
        return next;
    }
}
